import 'package:flutter/material.dart';

class TapboxAPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return new _TapboxAStete();
  }
}

class _TapboxAStete extends State<TapboxAPage> {
  bool _active = false;

  void _handleTap() {
    setState(() {
      _active = !_active;
    });
  }
  /**
   * GestureDetector在Flutter中负责处理跟用户的简单手势交互，GestureDetector控件没有图像展示，
   * 只是检测用户输入的手势，并作出相应的处理，包括点击、拖动和缩放。
   * 许多控件使用GestureDetector为其他控件提供回调，比如IconButton、RaisedButton和FloatingActionButton控件有onPressed回调，
   * 当用户点击控件时触发回调，当用户点击控件时触发回调。
   */
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
      appBar: AppBar(
        title: new Text("状态管理"),
      ),
      body: Container(
        /**
         *Container在Flutter中太常见了。官方给出的简介，是一个结合了绘制（painting）、定位（positioning）以及尺寸（sizing）widget的widget。
          可以得出几个信息，它是一个组合的widget，内部有绘制widget、定位widget、尺寸widget。后续看到的不少widget，都是通过一些更基础的widget组合而成的。
         */
        child: new GestureDetector(
          onTap: _handleTap,
          child:new Container(
            child:new Center(
              child: new Text(
                _active ? 'Active' : 'Inactive',
                style: new TextStyle(fontSize: 32.0, color: Colors.white),
              ),
            ),
            width: 200.0,
            height: 200.0,
            decoration: new BoxDecoration(
              color: _active? Colors.lightGreen[700]:Colors.grey[600],
            ),
          )
        ),
      ),
    );


}
}